package com.wjm.blog.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wjm.blog.system.entity.SysOpLogEntity;
import com.wjm.blog.system.vo.request.SysOpLogSaveVo;
import com.wjm.blog.system.vo.request.SysOpLogQueryVo;
import com.wjm.blog.system.vo.response.SysOpLogDetailVo;
import com.wjm.blog.system.vo.response.SysOpLogListVo;

import java.util.List;

/**
 * 操作日志信息表Service接口类
 *
 * @author wjm
 * @date 2023-10-18T14:34:39.188
 * @version 1.0
 */
public interface ISysOpLogService extends IService<SysOpLogEntity> {

    /**
     * 操作日志信息表分页查询
     *
     * @param queryVo 查询接口
     * @return 操作日志信息表分页列表
     * @throws Exception 异常信息
     * @author wjm
     * @version 1.0
     * @date 2023-10-18T14:34:39.188
     */
    IPage<SysOpLogListVo> page(SysOpLogQueryVo queryVo) throws Exception;

    /**
     * 操作日志信息表列表查询
     *
     * @param queryVo 查询接口
     * @return 操作日志信息表列表
     * @throws Exception 异常信息
     * @author wjm
     * @version 1.0
     * @date 2023-10-18T14:34:39.188
     */
    List<SysOpLogListVo> list(SysOpLogQueryVo queryVo) throws Exception;

    /**
     * 操作日志信息表详情查询
     *
     * @param id 主键ID
     * @return 操作日志信息表详情
     * @throws Exception 异常信息
     * @author wjm
     * @version 1.0
     * @date 2023-10-18T14:34:39.188
     */
    SysOpLogDetailVo get(Long id) throws Exception;

    /**
     * 操作日志信息表新增
     *
     * @param saveVo 操作日志信息表保存VO
     * @return 操作结果
     * @throws Exception 异常信息
     * @author wjm
     * @version 1.0
     * @date 2023-10-18T14:34:39.188
     */
    boolean insert(SysOpLogSaveVo saveVo) throws Exception;

    /**
     * 操作日志信息表修改
     *
     * @param id 主键ID
     * @param saveVo 操作日志信息表保存VO
     * @return 操作结果
     * @throws Exception 异常信息
     * @author wjm
     * @version 1.0
     * @date 2023-10-18T14:34:39.188
     */
    boolean update(Long id, SysOpLogSaveVo saveVo) throws Exception;

    /**
     * 操作日志信息表作废(批量)
     *
     * @param ids 主键ID集合
     * @return 操作结果
     * @throws Exception 异常信息
     * @author wjm
     * @version 1.0
     * @date 2023-10-18T14:34:39.188
     */
    boolean invalid(List<Long> ids) throws Exception;
}
